<?php
namespace app\model;

class ReminderSend extends BaseModel
{
    protected $name = 'reminder_sends';

    // 自动时间戳
    protected $autoWriteTimestamp = true;

    // 类型转换
    protected $type = [
        'send_time' => 'integer',
        'created_at' => 'integer',
        'updated_at' => 'integer'
    ];

    // 发送类型常量
    const TYPE_EMAIL = 1;    // 邮件
    const TYPE_MESSAGE = 2;  // 站内信
    const TYPE_OTHER = 3;    // 其他

    // 发送状态常量
    const STATUS_SUCCESS = 1;  // 成功
    const STATUS_FAILED = 2;   // 失败

    /**
     * 关联用户
     */
    public function user()
    {
        return $this->belongsTo(User::class);
    }

    /**
     * 关联提醒（包含软删除数据）
     */
    public function reminder()
    {
        return $this->belongsTo(Reminder::class, 'reminder_id')
                    ->withTrashed();  // 在关联定义时就包含软删除数据
    }
} 